From: Ewan Mellor Date: Fri, 23 Mar 2007 17:14:22 +0000 (+0000) Subject: Add VM.set_memory_dynamic_*_live methods, and use those in xm mem-set. X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~15277^2~15 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=23feb407a1056cbbff3611fb8a26887e20237aeb;p=xen.git Add VM.set_memory_dynamic_*_live methods, and use those in xm mem-set. Signed-off-by: Tom Wilkie --- diff --git a/tools/python/xen/xend/XendAPI.py b/tools/python/xen/xend/XendAPI.py index e2a0a78b60..b7abcd7e33 100644 --- a/tools/python/xen/xend/XendAPI.py +++ b/tools/python/xen/xend/XendAPI.py @@ -1053,8 +1053,6 @@ class XendAPI(object): VM_attr_ro = ['power_state', 'resident_on', - 'memory_static_max', - 'memory_static_min', 'consoles', 'VIFs', 'VBDs', @@ -1072,6 +1070,8 @@ class XendAPI(object): 'auto_power_on', 'memory_dynamic_max', 'memory_dynamic_min', + 'memory_static_max', + 'memory_static_min', 'VCPUs_max', 'VCPUs_at_startup', 'VCPUs_params', @@ -1112,6 +1112,8 @@ class XendAPI(object): ('add_to_other_config', None), ('remove_from_other_config', None), ('save', None), + ('set_memory_dynamic_max_live', None), + ('set_memory_dynamic_min_live', None), ('send_trigger', None)] VM_funcs = [('create', 'VM'), @@ -1315,12 +1317,38 @@ class XendAPI(object): def VM_set_memory_dynamic_max(self, session, vm_ref, mem): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() - + dom.set_memory_dynamic_max(int(mem)) + return xen_api_success_void() + def VM_set_memory_dynamic_min(self, session, vm_ref, mem): dom = XendDomain.instance().get_vm_by_uuid(vm_ref) - return xen_api_todo() + dom.set_memory_dynamic_min(int(mem)) + return xen_api_success_void() + + def VM_set_memory_static_max(self, session, vm_ref, mem): + dom = XendDomain.instance().get_vm_by_uuid(vm_ref) + dom.set_memory_static_max(int(mem)) + return xen_api_success_void() + def VM_set_memory_static_min(self, session, vm_ref, mem): + dom = XendDomain.instance().get_vm_by_uuid(vm_ref) + dom.set_memory_static_min(int(mem)) + return xen_api_success_void() + + def VM_set_memory_dynamic_max_live(self, session, vm_ref, mem): + dom = XendDomain.instance().get_vm_by_uuid(vm_ref) + dom.set_memory_dynamic_max(int(mem)) + # need to pass target as MiB + dom.setMemoryTarget(int(mem)/1024/1024) + return xen_api_success_void() + + def VM_set_memory_dynamic_min_live(self, session, vm_ref, mem): + dom = XendDomain.instance().get_vm_by_uuid(vm_ref) + dom.set_memory_dynamic_min(int(mem)) + # need to pass target as MiB + dom.setMemoryTarget(int(mem)/1024/1024) + return xen_api_success_void() + def VM_set_VCPUs_params(self, session, vm_ref, value): return self.VM_set('vcpus_params', session, vm_ref, value) diff --git a/tools/python/xen/xend/XendDomainInfo.py b/tools/python/xen/xend/XendDomainInfo.py index d22fb889f9..7c1d9614c4 100644 --- a/tools/python/xen/xend/XendDomainInfo.py +++ b/tools/python/xen/xend/XendDomainInfo.py @@ -2078,6 +2078,16 @@ class XendDomainInfo: return self.info.get('memory_dynamic_max', 0) def get_memory_dynamic_min(self): return self.info.get('memory_dynamic_min', 0) + + def set_memory_static_max(self, val): + self.info['memory_static_max'] = val + def set_memory_static_min(self, val): + self.info['memory_static_min'] = val + def set_memory_dynamic_max(self, val): + self.info['memory_dynamic_max'] = val + def set_memory_dynamic_min(self, val): + self.info['memory_dynamic_min'] = val + def get_vcpus_params(self): if self.getDomid() is None: return self.info['vcpus_params'] diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index e8eceaec7e..2f18ae2304 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -1281,8 +1281,10 @@ def xm_mem_set(args): if serverType == SERVER_XEN_API: mem_target = int_unit(args[1], 'm') * 1024 * 1024 - server.xenapi.VM.set_memory_dynamic_max(get_single_vm(dom), mem_target) - server.xenapi.VM.set_memory_dynamic_min(get_single_vm(dom), mem_target) + server.xenapi.VM.set_memory_dynamic_max_live(get_single_vm(dom), + mem_target) + server.xenapi.VM.set_memory_dynamic_min_live(get_single_vm(dom), + mem_target) else: mem_target = int_unit(args[1], 'm') server.xend.domain.setMemoryTarget(dom, mem_target)